package com.ccf.business.etl.xxljob.model;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * xxl-job info
 * @author xuxueli  2016-1-12 18:25:49
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class XxlJobInfo {

    // 主键ID
    private int id;
    // 执行器分组
    private int jobGroup = 1;
    private String jobDesc;

    private Date addTime;
    private Date updateTime;
    // 负责人
    private String author = "system";
    // 报警邮件
    private String alarmEmail = "system@xx.com";

    // 调度类型
    private String scheduleType = "CRON";
    // 调度配置，值含义取决于调度类型
    private String scheduleConf;
    // 调度过期策略 立即执行一次
    private String misfireStrategy = "FIRE_ONCE_NOW";

    // 执行器路由策略 采用一致性HASH
    private String executorRouteStrategy = "CONSISTENT_HASH";
    // 执行器，任务Handler名称
    private String executorHandler;
    // 执行器，任务参数
    private String executorParam;
    // 阻塞处理策略  单机串行
    private String executorBlockStrategy = "SERIAL_EXECUTION";
    // 任务执行超时时间，单位秒
    private int executorTimeout = 0;
    // 失败重试次数
    private int executorFailRetryCount= 0;

    // GLUE类型	#com.xxl.job.core.glue.GlueTypeEnum
    private String glueType = "BEAN";
    // GLUE源代码
    private String glueSource;
    // GLUE备注
    private String glueRemark;
    // GLUE更新时间
    private Date glueUpdatetime;
    // 子任务ID，多个逗号分隔
    private String childJobId;
    // 调度状态：0-停止，1-运行
    private int triggerStatus;
    // 上次调度时间
    private long triggerLastTime;
    // 下次调度时间
    private long triggerNextTime;

}
